package com.juku2024.juku.db.converter

import android.text.TextUtils
import androidx.room.TypeConverter
import com.juku2024.juku.db.entity.SourceEntity
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken

class AppConfigConverter {

    @TypeConverter
    fun stringToList(value: String?): ArrayList<SourceEntity>? {
        if (TextUtils.isEmpty(value)) {
            return null
        }
        val listType = object : TypeToken<ArrayList<SourceEntity>>() {}.type
        return Gson().fromJson(value, listType)
    }

    @TypeConverter
    fun listToString(list: ArrayList<SourceEntity>?): String? {
        if (list.isNullOrEmpty()) {
            return null
        }
        return Gson().toJson(list)
    }
}